# 必需参数 str
# def printme( str ):
#    "打印任何传入的字符串"
#    print (str)
#    return
#
# printme()

# 默认参数(必须排在形参列表的最后)
# def printinfo( name, age = 35 ):
#    "打印任何传入的字符串"
#    print ("名字: ", name)
#    print ("年龄: ", age)
#    return
#
# printinfo("参赛复习")

# 关键字参数
# def test(a,b=2,c=3):
#     print(a,b,c)
#
# test(7,c=9)

# 不定长参数
# def test(*args):
#     print(args,type(args))
#     for i in args:
#         print(i)

# test(*["a","b","c"])  #test("a","b","c")
# test(*"djaskljdasl")
# test(*range(10))
# test(1,2,3,4,"a","b","c")

# def test(**kwargs):
#     print(kwargs,type(kwargs))
# test(a=1, b=2, c=3)

# 强制位置参数
# /前面的参数必须使用位置对应
# *后面的参数必须使用关键字传参
# / 和 * 之间的通过位置和关键字都可以
def f(a, b, /, c, d, *, e, f):
    print(a, b, c, d, e, f)

f(1,2,3,d=4,e=5,f=6)
